package itsm.isperp.framework.service;

import itsm.isperp.framework.domain.Variable;

import java.util.Collection;

/**
 * 各模块使用的运行时变量服务接口
 * 
 * @author lizx
 */
public interface VariableService {

	/**
	 * 根据条件查询变量定义，如果变量值为null，则该变量不会添加到查询条件中
	 * 
	 * @param masterId
	 *            主表ID
	 * @param module
	 *            模块名称
	 * @param type
	 *            类型
	 * @param meta1
	 *            备用字段1
	 * @param meta2
	 *            备用字段2
	 * @return 返回Variable的集合
	 */
	public Collection<Variable> findVariable(String masterId, String module,
			String type, String meta1, String meta2);

	// /**
	// * 根据指定的数据类型解析指定的值
	// *
	// * @param dataType
	// * 数据类型
	// * @param value
	// * 数据值
	// * @return 返回一个解析后的对象
	// */
	// public static Object parseDataValue(String dataType, Object object) {
	// Object obj;
	// String value = object.toString();
	// if (dataType.equals("int") || dataType.endsWith("Integer")) {
	// obj = Integer.valueOf(value);
	// } else if (dataType.endsWith("Long")) {
	// obj = Long.valueOf(value);
	// } else if (dataType.endsWith("Float")) {
	// obj = Float.valueOf(value);
	// } else if (dataType.equals("boolean")) {
	// obj = Boolean.valueOf(value);
	// } else if (dataType.equals("date") || dataType.endsWith("Date")) {
	// obj = null;
	// } else {
	// obj = new Date(value);
	// }
	// return obj;
	// }
}
